The present invention relates to a speech coder for high quality coding speech signal at a low bit rate.
As a system for highly efficiently coding speech signal, CELP (Code Excited Linear Prediction Coding) is well known in the art, as disclosed, in for instance, M. Schroeder and B. Atal, "Code-excited linear prediction: high quality speech at very low bit rates", Proc. ICASSP, pp. 937-940, 1985 (Literature 1), and Kleijn et. al, "Improved speech quality and efficient vector quantization in SELP", Proc. ICASSP, pp. 155-158, 1998 (Literature 2). In these well-known systems, on the transmitting side spectral parameters representing a spectral characteristic of a speech signal is extracted from the speech signal for each frame (of 20 ms, for instance)through LPC (Linear prediction) analysis. Also, the frame is divided into sub-frames (of 5 ms, for instance), and parameters in an adaptive codebook (i.e., a delay parameter and a gain parameter corresponding to the pitch cycle) are extracted for each sub-frame on the basis of the past excitation signal, for making pitch prediction of the sub-frame noted above with the adaptive codebook. For quantizing the optimum gain, the optimum gain is calculated by selecting an optimum excitation codevector from an excitation codebook (i.e., vector quantization codebook) consisting of noise signals of predetermined kinds for the speech signal obtained by the pitch prediction. An excitation codevector is selected so as to minimize the error power between a synthesized signal from the selected noise signals and the error signal. An index representing the kind of the selected codevector and gain data are sent in combination with the spectral parameter and the adaptive codebook parameters noted above. The receiving side is not described.
The above prior art systems have a problem that a great computational effort is required for the optimum excitation codevector selection. This is attributable to the facts that in the systems shown in Literatures 1 and 2 filtering or convolution is executed for each codevector, and that this computational operation is executed repeatedly a number of times corresponding to the number of codebooks stored in the codebook. For example, with a codebook of B bits and N dimensions, the computational effort required is N.times.K.times.2.sup.B .times.8,000/N (K being the filter or impulse response length in the filtering or convolution). As an example, when B=10, N=40 and K=10, 81,920,000 computations per second are necessary, which is very enormous.
Various systems have been proposed to reduce the computational effort required for the excitation codebook search. For example, an ACELP (Algebraic Code Excited Linear Prediction) has been proposed. For this system, C. Laflamme et. al, "16 kbps wide band speech coding technique based on algebraic CELP", Proc. ICASSP, pp. 13-16, 1991 (Literature 3), for instance, may be referred to. In the system shown in Literature 3, an excitation signal is represented by a plurality of pulses, and the position of each pulse is represented by a predetermined number of bits for transmission. The amplitude of each pulse is limited to +1.0 or -1.0, and it is thus possible to greatly reduce the computational effort for the pulse search.
In the prior art system shown in Literature 3, the speech quality is insufficient although it is possible to greatly reduce the computational effort. This is so because each pulse has only a positive or negative polarity, and the absolute amplitude of the pulse is always 1.0 regardless of the pulse position. This means that the amplitude is quantized very coarsely, and therefore the speech quality is inferior.